package com.kaigejava.saimacode.t2017;



/**
 * 身份证号找生日（去哪儿2017校招真题）
 * 编写Javascript代码，提取身份证的生日。
 *
 * 18位身份证的编码规则是：
 * 前1、2位数字表示：所在省（直辖市、自治区）的代码
 * 第3、4位数字表示：所在地级市（自治州）的代码
 * 第5、6位数字表示：所在区（县、自治县、县级市）的代码；
 * 第7—14位数字表示：出生年、月、日；
 * 第15、16位数字表示：所在地的派出所的代码；
 * 第17位数字表示性别：奇数表示男性，偶数表示女性；
 * 第18位数字是校检码，用来检验身份证的正确性。
 * 现在要求给定任意身份证号，返回该身份证的出生日期信息，如果身份证格式不对，输出“ERROR”。
 *
 *
 * 输入
 * 输入数据有多行，每行为一个身份证
 *样例输入
 * 502104198803308324
 * 5021041988033084
 *
 *
 *输出
 * 输出生日部分
 *
 * 样例输出
 * 19880330
 * ERROR
 *
 *
 */
public class CardNoBithday {
    public static void main(String[] args) {
        String cardNo = "502104198803308324";
        String result = getBirthDayFromCardNo(cardNo);
        System.out.println(result);
    }

    private static String getBirthDayFromCardNo(String cardNo) {
        if(null == cardNo || " ".equals(cardNo) || cardNo.length() != 18){
            return "ERROR";
        }
        //获取第7—14位数字表示：出生年、月、日；
        String birthdayStr = cardNo.substring(6,14);
        return birthdayStr;
    }
}
